package com.cn.wanxi.util;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;

public class Common {


    /**
     * 将数据读取出来
     *
     * @return
     */
    public static String readNote(String path) {
        StringBuilder stringBuilder = new StringBuilder();
        try {
            Reader reader = new FileReader(path);
            /**
             * 去读取数据的时候，我们不知道要读取多少次，所以需要用while循环
             */
            int result = 0;
            //拼接字符串
            /**
             * String 和StringBuffer和StringBuilder的区别？
             * 请问我aa创建了几个对象，bb创建了几个对象？
             */
            while ((result = reader.read()) != -1) {
                stringBuilder.append((char) result);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return stringBuilder.toString();
    }

    /**
     * 公用的方法替换
     * 只替换一次
     *
     * @param value
     * @return
     */
//    public static String replace(String value, String olds, String news) {
//        return value.replace(olds, news);
//    }

//    /**
//     * 公用的方法替换
//     * 替换两次次
//     *
//     * @param value
//     * @return
//     */
//    public static String replace(String value, String olds, String oldt, String news) {
//        return value.replace(olds, news).replace(oldt, news);
//    }

    /**
     * 方法重载
     * 就是说方法名相同，参数类型不一样，参数个数不一样，参数顺序不一样
     * public static void main(String[] args) {  args 代表知道具体数组的长度
     * String... old 代表不知道old是有多少个
     */
    public static String replace(String value, String news, String... old) {

        for (int i = 0; i < old.length; i++) {
            value = value.replace(old[i], news);
        }
        return value;
    }

}
